home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 44
/
Aminet 44 (2001)(GTI - Schatztruhe)[!][Aug 2001].iso
/
Aminet
/
game
/
patch
/
WHDIGamesA-B.lzh
/
BlueAngel69.lha
/
BlueAngel69
/
blueangel69slave.asm
< prev
next >
Wrap
Assembly Source File
|
2000-04-03
|
4KB
|
180 lines
;*---------------------------------------------------------------------------
; :Program. blueangel69slave.asm
; :Contents. Slave for "Blue Angel 69"
; :Author. Harry
; :History. 21.02.2000/31.3.-2.4.2000
; :Requires. whdload-package :)
; :Copyright. GPL
; :Language. 68000 Assembler
; :Translator. ASM-One 1.25
; :To Do.
;---------------------------------------------------------------------------*
;crc_v1 = $57C1
IFND BARFLY
INCDIR asm-one:Include2.0/
INCLUDE LIBRARIES/DOS_LIB.I
INCLUDE LIBRARIES/DOS.I
INCLUDE EXEC/EXEC_LIB.I
INCLUDE EXEC/MEMORY.I
INCLUDE GRAPHICS/GRAPHICS_LIB.I
INCLUDE INTUITION/INTUITION_LIB.I
INCLUDE INTUITION/INTUITION.I
INCLUDE OWN/CCRMAKRO
INCLUDE own/whdload.i
ELSE
INCDIR Includes:
INCLUDE lvo/dos.i
INCLUDE lvo/exec.i
INCLUDE whdload.i
BOPT O+ OG+ ;enable optimizing
BOPT ODd- ODe- ;disable mul optimizing
BOPT w4- ;disable 64k warnings
SUPER ;disable supervisor warnings
OUTPUT wart:a-c/anotherworld/anotherworld.slave
ENDC
;======================================================================
SLBASE SLAVE_HEADER ;ws_Security + ws_ID
dc.w 10 ;ws_Version
dc.w WHDLF_Disk!WHDLF_NoError!WHDLF_EmulTrap ;ws_flags
dc.l $80000 ;ws_BaseMemSize
dc.l $00 ;ws_ExecInstall
dc.w SLStart-SLBASE ;ws_GameLoader
dc.w 0 ;ws_CurrentDir
dc.w 0 ;ws_DontCache
dc.b $00 ;debugkey
qkey dc.b $5D ;quitkey
DC.L 0 ;no fastmem
dc.w slname-SLBASE
dc.w slcr-SLBASE
dc.w slinst-SLBASE
***********************************************************************
slname dc.b 'Blue Angel 69',0
slcr dc.b '1989 Magic Bytes',0
slinst dc.b 'HD-V1.01 Feb./Mar. 2000 by Harry',0
even
;======================================================================
dc.b "$VER: Blue_Angel_69_Slave_1.01 by Harry"
dc.b 0
even
;======================================================================
SLStart ; A0 = resident loader
;======================================================================
lea _RESLOAD(PC),a1
move.l a0,(a1) ;save for later using
move.l #CACRF_EnableI,d0 ;enable instruction cache
move.l d0,d1 ;mask
jsr (resload_SetCACR,a0)
IFEQ 1
LEA.L $800,a0
MOVE.L #$7E800,D0
.CLR CLR.L (A0)+
SUBQ.L #4,D0
BPL.S .CLR
ENDC
MOVE.L #$10000,D0 ;LEN
LEA.L $400.W,A1 ;ADDY
LEA.L OSMNAME(PC),A0 ;FILENAME
move.l _RESLOAD(PC),a2
jsr (resload_LoadFileDecrunch,a2)
; LEA.L TKEYR(PC),A0
; MOVE.L A0,$404.W
MOVE.L _RESLOAD(PC),A0
LEA.L SLBASE(PC),A1
JSR $400.W
MOVE.W #0,SR
bset #1,$bfe001
MOVE.L $4.W,A6
MOVEQ.L #0,D0
LEA DOSNAM(PC),A1
JSR _LVOOpenLibrary(A6)
MOVE.L D0,A6
LEA.L STFILE(PC),A0
MOVE.L A0,D1
JSR _LVOLoadSeg(A6)
LSL.L #2,D0
MOVE.L D0,A1
ADDQ.L #4,A1
IFEQ 1
TESTQUIT EQU $67E
MOVE.W #$4EF9,TESTQUIT
PEA QUIT(PC)
MOVE.L (A7)+,TESTQUIT+2
ENDC
;.yyy btst #6,$bfe001
; bne.s .yyy
move.l #$4e714e71,$3902(A1) ;powersupplyfreq-check
move.w #_LVOOpenResource,$2d84(A1) ;openresource instead findname
move.l #$70002c78,$2d7c(A1)
move.b #$9a,$4259(A1) ;get defaultfont
move.w #$4e71,$d2c(a1) ;various protectioncode
move.w #$4e71,$ea4(A1) ;removed because it crashed the game
move.l #$00004e75,$10c2(A1)
move.l #$4e714e71,$10ce(A1)
move.l #$10c04e75,$1144(A1)
move.l #$4e714e71,$1152(A1)
move.w #$4e71,$4390(A1)
ifeq 1
MOVEM.L D0/A0-A2,-(A7)
MOVEQ.L #$2,D0
LEA.L $4a36(A1),A0
MOVE.L _RESLOAD(PC),A2
JSR RESLOAD_PROTECTreadwrite(A2)
MOVEM.L (A7)+,D0/A0-A2
endc
LEA.L ARG(PC),A0
MOVEQ.L #1,D0
JSR (A1)
ILLEGAL
QUIT
.exit pea TDREASON_OK
IFEQ 1
bra _end
_badver pea TDREASON_BADVERSION
ENDC
_end move.l (_resload,pc),-(a7)
add.l #resload_Abort,(a7)
rts
;version dc.w 0 ;version of game
_RESLOAD dc.l 0 ;address of resident loader
OSMNAME DC.B 'OSEMUMODULE400.BIN',0
EVEN
STFILE DC.B 'r',0
EVEN
DOSNAM DC.B 'dos.library',0
EVEN
ARG DC.B $A
EVEN